<?php namespace Common\Model;

use Hdphp\Model\Model;
class Brand extends Model{
	//指定表名，這是固定寫法
	protected $table="brand";
	//自動驗證，固定寫法
	protected $validte =array(
	     array('bname','require', '品牌標題不能為空',3,3),
	     );
		 //自動完成
		 protected $auto=array(
		     //縮略圖
		     //1照片縮略圖的名字  2.函數名 3.表示的要定義一個函數
		     array('blogo','thumb','method',3,3)
		 );
        //自定義函數

//LOGO的代码
//這個和咱們寫過的博客差不多，寫完后把數據里對應的名稱修改下就可以了；寫一步看一步效果，有利於我們看效果，減少我們的麻煩
public function thumb(){
		//如果有文件上传
		//如果是编辑的时候只显示图片的时候，没有file类型的表单，所以是不存在$_FILES['thumb']
		if(isset($_FILES['blogo']) && $_FILES['blogo']['error'] != 4){
			//执行上传类
			$files = Upload::type('jpg,png,gif')->size(2000000)->make();
			//如果上传成功，返回对应的路径
			if($files){
				//处理缩略的文件名
				$newPath = str_replace('.' . $files[0]['ext'], '_thumb.' . $files[0]['ext'], $files[0]['path']);
				//缩略，返回缩略图的地址
				$thumbPath = Image::thumb($files[0]['path'],$newPath,200,200,2);
				//存到数据库
				return $thumbPath;
			}
		}
		////编辑的时候：如果有隐藏域（$_POST['blogo']）的时候，那么就是返回旧地址
		if($thumb=Q('post.blogo')){
			return $thumb;
		}
		//如果用户没有上传，则返回空字符串存入数据
		return '';
   }
    //添加
    public function store(){
    	//觸發自動驗證
    	if(!$this->create()) return false;
		//判斷上傳是否成功
		if($error=Upload::getError()){
			//給當前模型壓入錯誤
			$this->error=$error;
			return false;
		}
		//添加成功提示
		$aid=$this->add();
		return true;
    }
    //編輯
      public function edit(){
      	//自動驗證
      	if(!$this->create()) return false;
		//驗證縮略圖。如果上傳失敗
		if($error=Upload::getError()){
			//把錯誤壓倒當前錯誤
			$this->error=$error;
			return false;
		}
		//刪除原圖
		//判斷原圖是否存在
		if(isset($_FILES['blogo'])){
			$filename=$this->where('bid='.Q('post.bid',0,'intval'))->pluck('blogo');
			if($filename) unlink($fliename);
		}
		//修改成功提示
		$this->save();
		return true;
      }

}
 ?>